Mining Maple Code for Contracts
نویسندگان
چکیده
We wish to answer the following question: what is the most appropriate language for describing the “contracts” that Maple routines offer? In this, we are seeking much more than types (which Maple does not have, at least statically), as these are not sufficiently expressive to capture what is going on. We also wish to study what is actually in Maple, rather than what should be there. Put another way, we do not expect to find that a type system like Aldor’s or Axiom’s would be especially helpful in explaining Maple. Our real goal is a mathematical description of the interfaces between routines. As such, the only current terminology flexible enough to encompass reality is that of contracts, by which we mean simply statements of complex properties (static as well as dynamic) in a sufficiently general logic. This works focuses mainly on the requirements analysis phase of this project: we perform automated analyses of the complete Maple library, to understand the kinds of contracts that are in actual use. We wish to know which kinds of theorems would need to be proved in order to formally analyze the types, effects, invariants, and contracts present in the current code base. As this is a monumental task, we describe what knowledge we have currently been able to extract from a very systematic approach to the problem.
منابع مشابه
Are Code Examples on an Online Q&A Forum Reliable?
Programmers often consult an online Q&A forum such as Stack Overflow to learn new APIs. This paper presents an empirical study on the prevalence and severity of API misuse on Stack Overflow. To reduce manual assessment effort, we design Maple, an API usage mining approach that extracts patterns from over 380K Java repositories on GitHub and subsequently reports potential API usage violations in...
متن کاملAutomatic Code Generation and Optimization in Maple
In this article we discuss the advantages (and pitfalls) in developing code optimization and Maple to C conversion programs for Maple procedures, specifically those required for numerical differential equation solution. Special treatment related to code optimization for large sets of equations is a major focus. Issues related to conversion of Maple code to C code are discussed, and finally a se...
متن کاملA Framework for Using Aldor Libraries with Maple
This paper examines what is required to use Aldor libraries to extend Maple in an effective and natural way. This represents a non-traditional approach to structuring computer algebra software: using an efficient, compiled language, designed for writing large complex mathematical libraries together with a top-level system based on userinterface priorities and ease of scripting. Our method invol...
متن کاملQuick Guide of AutoGenU for Maple
This document is a hands-on of Maple worksheet for automatic code generation and simulation system for nonlinear model predictive control (NMPC) . This method is well known as a fast algorithm and expected to real-time implementation in a system. This describes the components and usage of the automatic code generation system named "AutoGenU for Maple". This worksheet is required Maple 17 or lat...
متن کاملQuick Guide of AutoGenU for Maple
This document is a hands-on of Maple worksheet for automatic code generation and simulation system for nonlinear model predictive control (NMPC) . This method is well known as a fast algorithm and expected to real-time implementation in a system. This describes the components and usage of the automatic code generation system named "AutoGenU for Maple". This worksheet is required Maple 17 or lat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006